5. ROWIDs and the INTEGER PRIMARY KEY
from ROWID
ROWIDs and the INTEGER PRIMARY KEY
あるカラムがROWIDのエイリアスになる場合
rowidテーブルが1つのカラムからなる主キーを持つ
INTEGER PRIMARY KEYの場合
=そのカラムの宣言された型がINTEGER(大文字小文字を問わない)
=PRIMARY KEYが適用されたカラム
それ以外のINT、BIGINT、SHORT INTEGER、UNSIGNED INTEGERなどの型名はROWIDにはならず、通常の整数の性質を持ち、uniqueインデックスを持つ通常のカラムとして動作する。
WITHOUT ROWID句を用いて作成したテーブルはこのrowidを持たない。
ROWIDを使ったレコードの検索、ソートは高速
rowidテーブルのデータは、rowidの値をキーとして利用し、それぞれのテーブルの行ごとに1つのエントリを含むB木構造として格納される。
指定範囲内のrowidを持つ全てのレコードを検索する操作は、他のPRIMARY KEYやインデックス値を指定して同様の検索を行うよりも約2倍高速。